package com.estacionamientos

class Estacionamiento extends AbstractUsuario {
	String cuit
	String nombreContacto
	String razonSocial
	Boolean techado
	Direccion direccion 		
	Boolean atencion24Horas
	
	Imagen foto
	List promociones = new ArrayList()
	
	static hasMany = [promociones:PromocionCalendar]
	static constraints = {
		cuit(nullable:true,unique:true)
		nombreContacto(nullable:true)
		razonSocial(nullable:true, unique:true)
		foto(nullable:true)
		promociones(nullable:true)
		direccion(nullable:true)
		techado(nullable:true)
		atencion24Horas(nullable:true)
	}
	
    static mapping = {
		
		foto lazy:true
		foto cascade:'all-delete-orphan'
		foto fetch:'select'
		
		direccion lazy:false
		direccion cascade: 'all-delete-orphan'
		direccion fetch:'join'

		promociones lazy : false
		promociones cascade : 'all-delete-orphan'
		promociones fetch:'select'
		
		cache:'nonstrict-read-write'
		
    }

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = super.hashCode();
		result = prime * result	+ ((atencion24Horas == null) ? 0 : atencion24Horas.hashCode());
		result = prime * result	+ ((promociones == null) ? 0 : promociones.hashCode());
		result = prime * result + ((techado == null) ? 0 : techado.hashCode());
		return result;
	}


	@Override
	public boolean equals(Object obj) {
		if(this.id == obj.id){
			return true;
		}else{
			return false;
		}
	}

		
	
	//static embedded = ['direccion']
}
